package _02Liset接口

import java.io.*;
import java.util.Arrays;

public class Exercise {
	public static void main(String[] args) throws IOException {

		// 1. 编写一个方法，实现文件的复制
		// (从一个流读入,写入到另一个流)
//		copyFile("d:/1.jpg","d:/2.jpg");
//		copyFile("1.jpg", "2.jpg");

		// 2. 编写一个方法，实现文件夹的复制
		// 需要使用File类和字节流
		// 需要使用递归
//		copyDirectory("d:/aaa","d:/bbb");
//		copyDirectory("./aaa", "./bbb");

		// 3. 练习使用二进制文件查看工具查看文件的二进制信息

		// 4. 编写一个方法,比较两个文件是否相同
		// boolean isSame(String file1,String file2);
//		System.out.println(isSame("d:/1.jpg","d:/2.jpg"));
		isSame("1.jpg", "2.jpg");
		// * 5. 编写一个方法,比较2个目录内所有内容是否相同

	}

	private static void isSame(String s1, String s2) throws IOException {
		InputStream is1 = new FileInputStream(s1);
		InputStream is2 = new FileInputStream(s2);

		int len1;
		int len2;
		boolean judge = false;
		do {

			len1 = is1.read();
			len2 = is2.read();

			if (is1.read() != is2.read()) {
				break;
			} else {
				judge = true;
			}
		} while (len1 != -1 || len2 != -1);

		if (judge == true) {
			System.out.println("一样");
		} else {
			System.out.println("不一样");
		}

	}

	private static void copyDirectory(String s1, String s2) throws IOException {
		InputStream is = new FileInputStream(s1);
		OutputStream os = new FileOutputStream(s2);
		File f1 = new File(s1);
		File f2 = new File(s2);
		f1.list();
		f2.list();

	}

	private static void copyFile(String s1, String s2) throws IOException {
		InputStream is = new FileInputStream(s1);
		OutputStream os = new FileOutputStream(s2);

// 		1. 边读边写
//		int data = 0;
//		do {
//			data = is.read();
//			os.write(data);
//		} while (data != -1);

		int len = 0;
		byte[] data = new byte[1024];

		do {
			len = is.read();
			if (len > 0) {
				os.write(data, 0, len);
			}
		} while (len != -1);

		is.close();
		os.close();
	}

}